The Internet provides information via a conventional World Wide Web (web) browser, which displays the information on a device such as a personal computer, handheld device, or other device connectable to the internet. Users regularly desire a hard copy of the information, but web pages are often ill-formatted for printing. Ink and paper can be wasted on ads, the header and footer, and other parts of the web page that are not the desired content for printing. Web page layouts that may be visually pleasing on video displays can actually waste paper when printed out.
Some web sites offer an alternative printable version of site pages, usually through a CSS (cascading style sheet) file. However, many site owners lack the monetary motivation or technology expertise to provide such alternative printable versions.
Users can copy and paste web page content from a browser to their own webpage or text editing tool in order to print only the desired content. However, this requires inconvenient manual labor and some web pages are formatted in ways that render it difficult to select specific content.
Some attempted web page printing solutions are based on content analysis of web pages, though these also tend to be largely unsatisfactory. For example, it is difficult for an algorithm to determine what a user really wants to print because the answer requires semantic understanding of the page content. The underlying document structure, such as the DOM (document object model) structure, may differ greatly from the visual rendering result due to a variety of reasons such as the CSS and dynamic javascript code. What a user sees as closely related objects on the screen may be far apart from each other in the DOM tree. Accordingly, selecting content of a web page using the browser's default selection tool often results in seemly unrelated content being selected.